In large corporations or other types of organizations that each employs hundreds or thousand of computers, it is often desirable to ensure that all the servers or desktops are configured identically to ensure uniformity in the operations of the computers and to simplify the tasks of maintaining and trouble-shooting the computers. To that end, it is common for a corporation to install a uniform computer software image on all of their servers or desktop computers. Such a uniform software image, often called a “production image,” typically includes the operation system, applications, hardware drivers, particular registry setting and other settings, etc. Because each corporation has its own particular needs and preferences, the production image has to be built around the different components selected to suit the requirements of that corporation. Today, it is typical for each of the corporations using production images to have its own internal team and internal procedures for building its production image, and for testing the image built by the team to ensure that the computer systems (server and desktop) in production are standardized and up to date. Each production image is typically built “manually” by the team by putting together all the required components to create the production image. Such a process can be very time consuming and expensive. Moreover, it is often difficult for the team responsible for developing the production image to learn about new changes/updates made to the components and settings used in the production image.